package com.hhf.cloud.entities;

import lombok.ToString;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;

/**
 * 表名：dtx_account_freeze
*/
@ToString
@Table(name = "dtx_account_freeze")
public class DtxAccountFreeze {
    @Id
    private String xid;

    /**
     * 用户id
     */
    @Column(name = "user_id")
    private String userId;

    /**
     * 冻结金额
     */
    @Column(name = "freeze_money")
    private Integer freezeMoney;

    /**
     * tcc事务状态，0:try，1:confirm，2:cancel
     */
    @Column(name = "tcc_status")
    private Integer tccStatus;

    /**
     * DDD设计思想：领域模型
     * TCC三大状态定义
     *
     */
    public static abstract class TccStatusEnum
    {
        public static final int TRY = 0;
        public static final int CONFIRM = 1;
        public static final int CANCEL = 2;
    }




    /**
     * @return xid
     */
    public String getXid() {
        return xid;
    }

    /**
     * @param xid
     */
    public void setXid(String xid) {
        this.xid = xid;
    }

    /**
     * 获取用户id
     *
     * @return userId - 用户id
     */
    public String getUserId() {
        return userId;
    }

    /**
     * 设置用户id
     *
     * @param userId 用户id
     */
    public void setUserId(String userId) {
        this.userId = userId;
    }

    /**
     * 获取冻结金额
     *
     * @return freezeMoney - 冻结金额
     */
    public Integer getFreezeMoney() {
        return freezeMoney;
    }

    /**
     * 设置冻结金额
     *
     * @param freezeMoney 冻结金额
     */
    public void setFreezeMoney(Integer freezeMoney) {
        this.freezeMoney = freezeMoney;
    }

    /**
     * 获取tcc事务状态，0:try，1:confirm，2:cancel
     *
     * @return tccStatus - tcc事务状态，0:try，1:confirm，2:cancel
     */
    public Integer getTccStatus() {
        return tccStatus;
    }

    /**
     * 设置tcc事务状态，0:try，1:confirm，2:cancel
     *
     * @param tccStatus tcc事务状态，0:try，1:confirm，2:cancel
     */
    public void setTccStatus(Integer tccStatus) {
        this.tccStatus = tccStatus;
    }
}